﻿using System;
using System.Collections.Specialized;
using System.Web;

namespace Restful.Net
{
    public interface IRequest
    {
        HttpRequestBase RequestBase
        {
            get;
        }

        Uri Uri
        {
            get;
        }

        HttpVerb Verb
        {
            get;
        }

        object GetRequestBody(Type type);

        NameValueCollection RestVariables
        {
            get;
        }

        /// <summary>
        /// Represents the If-None-Match http header used together with Etag for caching purposes
        /// </summary>
        string IfNoneMatch
        {
            get;
        }
    }
}
